var o1={name:"龙龟"}
var o2=new Object();
var Fun=function(){

}
var o3=new Fun();
// console.log(o1,o2,o3);
// console.log(typeof o1);
// console.log(typeof o2);
// console.log(typeof o3);

//英雄类
var Hero=function(name,sex){
    this.name=name;
    this.sex=sex;
    this.hi=function(){
        console.log("名字叫",this.name);
        console.log("性别",this.sex);
    }
}
Hero.prototype={
    age: 0,
    height:140,
    r:function(){
        console.log(this.name,"回放大招");
    },
    constructor:Hero
}
//对象
var lg=new Hero("龙龟","男");
var gf=new Hero("寡妇","女");


//对象.__proto__内置属性
console.log(gf.__proto__==Hero.prototype);

//Hero--Function关系
console.log(Hero.__proto__==Function.prototype);

//Object--Function关系
console.log(Object.__proto__==Function.prototype);

console.log(Hero.prototype.__proto__==Object.prototype);

//顶部
console.log(Object.prototype.__proto__);
// lg.hi();
// gf.hi();

// console.log(lg.constructor);//找到自己的构造函数
// console.log(Hero);

// console.log(Hero);
// console.log(Hero.prototype);//函数原型
//增加属性和方法
// Hero.prototype.age="0";
// Hero.prototype.r=function(){
//     console.log(this.name,"回放大招");
// }

// console.log(lg.name,lg.height);


// console.log(lg.age);
// lg.r();


//Hero=Hero.prototype.constructor=lg.constructor
// console.log(Hero.prototype.constructor==Hero);